Batteryless radio frequency identification (RF-ID) systems rely on the rectification of the interrogation signal for power as has been taught in the U.S. Pat. No. 5,074,774 of Josef Schuermann et al, issued Oct. 1, 1991. This, in turn, requires that the transponder circuitry consume very little power. The application of such transponders, such as for animal identification, requires that the packaging be quite small. As a result of these constraints, most such transponders have read-only capability. As an example of an unsuitable approach for these applications, systems, such as that described in U.S. Pat. No. 5,310,999, "Secure Toll Collection System for Moving Vehicles", issued May 10, 1994, would consume far too much power, be too bulky and cost too much. The continued growth of applications of RF-ID systems requires improvements in avoiding false interrogations and data modification either deliberate or accidental.
Improved RF-ID systems have Read/Write transponders as disclosed in U.S. Pat. No. 5,450,088 issued Sep. 12, 1995, and are used in airline baggage tracking, warehouse goods tracking and assembly line piece part tracking. In the patent reference mentioned above, the application of toll collection from a rapidly moving vehicle requires a remote Read/Write capability with rapid response time. Some automobiles are now provided with remote transmitters for unlocking doors, fuel tanks and luggage compartments. Increased security as well as vehicle immobilization is highly desirable. Because of the added protection required to prevent unauthorized persons from realizing personal gain, some sort of encryption capability within the remote transponder is required to achieve more security.
Additionally, in all electrical information transmission systems, due consideration must be given to the effects of noise. Noise is any unwanted signal and may originate from different sources. The nature of errors in telecommunication systems is very important in considering error detection. The transponders, generally of the type described in U.S. Pat. No. 5,430,447 issued Jul. 4, 1995, unlike conventional computerized transponders, response data is in the form of a binary digit stream rather than byte type data with header protocols, start and stop bits, etc. that are common to the computer communications art. There are numerous methods involving software manipulation of bytes for encrypting and decrypting data streams. However, these methods do not apply because of high complexity and high cost.
An alternative method to determine whether the bits in a telegram have been properly received consists of appending an additional block of bits to each telegram. This additional block of bits, data, could be calculated out of the telegram data bits using a specific algorithm. For example, CRC-CCITT is one error detection algorithm which could be used but there are also many other algorithms used in several application areas which work on a similar basis. FIG. 2 shows the pertinent portion of a prior art CCITT CRC generator. This consists of a 16 bit shift register 22 (whose data flip-flops are labeled B0 . . . B15) with three XORs 24, 28, 29 in the feedback loop. B0 . . . B15 have a common clock line 30 which is created from the received data by clock generator 21 and a power up reset line 32. The previously described gating terminals B of the XORs 24, 28 are tied to 26 which is the output of XOR 29 and the input of the shift register 22. XOR 29 has one input from the output of shift register 22 and the other from the data input 27. XOR 24 has the other input from B11 and its own output to the data input of B10. In similar manner XOR 28 is tied between B4 and B3. The starting condition of shift register 22 is determined by Reset line 32. At power up, all 16 bits, B0 . . . B15, are set to logic 0.
An implementation of the prior art CRC-CCITT generator of FIG. 2 is described. A Frame BCC is generated in the interrogator from the Command/Address byte, the Data and Data BCC. The transponder receives the Frame BCC from the interrogator and applies the received bits of data to the CRC generator generating a new BCC, calculated from the CCITT algorithm. The comparison of the two BCC's, received and newly calculated, provides evidence of receipt of valid or invalid data. If both BCC's are equal then the received data is valid, and if the BCC's are not equal then the user data and/or the transmitted BCC must be corrupted. In actuality, the comparison is performed by continuing the generation of the new BCC within the interrogator while still receiving the transponder response data and BCC until all bits are received and then comparing the content of the registers to zero. If the content of the registers in the interrogator is zero then the received data is valid, and if the content of the registers is not zero, then the user data and/or the transmitted BCC must be corrupted The algorithm of the CRC-CCITT generator shown in FIG. 2 is well known and so fails to provide any security measure although it does provide a means for checking the validity of the received data regardless.